package com.wms.service;

import com.wms.bean.PageBean;
import com.wms.dto.*;
import com.wms.entity.AllocateIn;

import java.util.List;

/**
 * 调拨入库服务接口; (提供调拨记录的增删改查功能)
 * @author : 您的名字或参考 http://www.chiner.pro
 * @date : 2025-8-24
 */
public interface AllocateInService {
    /**
     * 分页查询并按条件过滤调拨记录
     * @param allocateInDTO 查询条件
     * @return 分页结果
     */
    PageBean<List<AllocateInVo>> queryPageAndCondition(AllocateInDTO allocateInDTO);

    /**
     * 新增调拨记录
     * @param allocateInUpVo 调拨信息
     * @return 影响行数
     */
    int insert(AllocateInUpVo allocateInUpVo);

    /**
     * 更新调拨入库状态
     * @param allocateInUpVo 调拨信息
     * @return 影响行数
     */
    int update(AllocateInUpVo allocateInUpVo);

    /**
     * 物理删除调拨记录
     * @param id 调拨记录ID
     * @return 影响行数
     */
    int deleteById(int id);

    /**
     * 调布处理条件查询
     */
    PageBean<List<CallProcessVO>> queryProcessPageAndCondition(CallProcessDTO callProcessDTO);

    /**
     * 更新调拨处理记录
     * @return
     */
    int updateInStoreDetail(AllocateInDetailUpVo allocateInDetailUpVo);


    /**
     * 调拨处理业务操作
     */
    int allocateInTypeVo(AllocateInTypeVo allocateInTypeVo);
}